﻿using ApplicationBase.Core.Repository;
using IdentityService.Domain.Aggregates.UserAccountAggregate;

namespace IdentityService.Domian.Repositories
{
    public interface IUserAccountRepository : IRepository<UserAccount>
    {
        Task AddAsync(UserAccount user);
        void Delete(UserAccount user);
        Task<UserAccount?> FindByIdAsync(long id);
        Task<UserAccount?> FindByIdIncludeAllAsync(long id);
        Task<List<UserAccount>> FindByIdBlukAsync(IList<long> ids);
        Task<UserAccount?> FindByUserNameAsync(string userName);
        Task<bool> CheckUserNameExistedAsync(string userName);
    }

    
}
